package model;

import java.io.Serializable;
import java.util.HashMap;

/**
 * Classe de estrutura para produto do pedido do cliente da lavanderia
 * Ou apenas para os produtos que a lavanderia disponibiliza para serem lavados. 
 * 
 * @author Dayane
 * @author Pedro Candido
 *
 * @since 28/04/12
 */

public class Produto implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	/**
	 * Informacoes do produto
	 */
	private int key;
	private String nome;
	private double preco;
	private int qtd;
	
	/**
	 * Lista de todos os produtos - fica em atributo estático para facilitar a vida - carregado apartir de um arquivo
	 */
	private static HashMap<Integer, Produto> produtoList = new HashMap<Integer, Produto>();
	public static HashMap<Integer, Produto> getProdutoList() {
		return produtoList;
	}

	public int getKey() {
		return key;
	}
	public void setKey(Integer key) {
		this.key = key;
	}
	
	public String getNome() {
		return this.nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}

	public double getPreco() {
		return this.preco;
	}
	public void setPreco(double preco) {
		this.preco = preco;
	}
	
	public int getQtd() {
		return this.qtd;
	}
	public void setQtd(int qtd) {
		this.qtd = qtd;
	}
	
	/**
	 * Imprime as informacoes do produto.
	 * 
	 * Se estiver dentro de pedido, ele tem quantidade, entao tem que usar esse metodo
	 * para imprimir ou nao a qtd de produtos 
	 */
	public void imprimirPeloPedido(){
		System.out.println("\t\t Codigo: "+this.key);
		System.out.println("\t\t Nome: "+this.nome);
		System.out.println("\t\t Preco: "+this.preco);
		System.out.println("\t\t Quantidade: "+this.qtd);
		System.out.println("\t\t Total: "+(this.qtd*this.preco));
		System.out.println("");// quebrando linha
	}
	
	/**
	 * Imprime as informacoes do produto.
	 * 
	 * Se nao estiver em pedido, eh um produto em si, entao nao tem qtd. 
	 */
	public void imprimir(){
		System.out.println("Codigo: "+this.key);
		System.out.println("Nome: "+this.nome);
		System.out.println("Preco: "+this.preco);
		System.out.println("_____________________________________________________________________________");	
	}
}
